import { defineStore } from 'pinia'
import { ref, computed } from 'vue'

export const useTabStore = defineStore('tab', () => {
	// 状态
	const userRole = ref("")
	const tabActive=ref("")

	// 设置用户角色并自动更新 tabs
	const setUserRole = (role : string) => {
		uni.setStorageSync('userRole', role)
		userRole.value = role;
	}
	

	const setActive=(tabItem)=>{
		uni.setStorageSync('tabActive', tabItem)
		tabActive.value = tabItem;
	}


	// ✅ 新增：getter 方法（推荐用于封装或未来扩展）
	const getUserRole = computed(() => {
		const role = uni.getStorageSync("userRole");
		return userRole.value || role;
	})


	const getActive = computed(() => {
		const item = uni.getStorageSync("tabActive");
		return tabActive.value || item;
	})




	// ✅ 返回所有可被组件使用的状态和方法
	return {
		// 状态（可直接访问）
		userRole,
		// 方法（修改状态）
		setUserRole,
		// ✅ Getter 方法（读取状态，封装访问）
		getUserRole,
		tabActive,
		getActive,
		setActive
	
		
	}
})